package com.wicket.okrbff.biz.service.dto.common;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.validation.constraints.NotNull;
import lombok.Data;
import java.util.Objects;

/**
 * @desc BffAchievementCategoryDto
 * @使用场景
 */
@Data
public class BffAchievementCategoryDto implements Serializable {

  /**
   * 成果类别ID
   */
  @ApiModelProperty("成果类别ID")
  private String achievementCategoryId;

  /**
   * 关联成果类型ID
   */
  @ApiModelProperty("关联成果类型ID")
  private String achievementTypeId;

  /**
   * 成果类别编号
   */
  @ApiModelProperty("成果类别编号")
  private String achievementCategoryNumber;

  /**
   * 成果类别名称
   */
  @ApiModelProperty("成果类别名称")
  private String achievementCategoryName;

  /**
   * 成果类型介绍
   */
  @ApiModelProperty("成果类型介绍")
  private String achievementCategoryDesc;

  /**
   * 主体生命周期 CURRENTLY_VALID:当前有效 EDITING:正在编辑 ARCHIVING:历史存档
   */
  @ApiModelProperty("主体生命周期")
  private String subjectLifeCycle;
@Override
  public boolean equals(Object o) {
      if (this == o) return true;
      if (o == null || getClass() != o.getClass()) return false;
      if (!super.equals(o)) return false;
      BffAchievementCategoryDto that = (BffAchievementCategoryDto) o;
      return  achievementCategoryId == that.achievementCategoryId&&achievementTypeId == that.achievementTypeId&&achievementCategoryNumber == that.achievementCategoryNumber&&achievementCategoryName == that.achievementCategoryName&&achievementCategoryDesc == that.achievementCategoryDesc&&subjectLifeCycle == that.subjectLifeCycle;
    }
@Override
  public int hashCode() {
      return Objects.hash(super.hashCode(), achievementCategoryId,achievementTypeId,achievementCategoryNumber,achievementCategoryName,achievementCategoryDesc,subjectLifeCycle);
    }

}
